BG Report

Data import and tables

## Loading BG.library
## Adding files missing in collate: addBGpoints.R, addBGpoints_ly.R, addBolusPoints_ly.R, addFasting_ly.R, addPercentBG_ly.R, addPumpSetting_ly.R, addStackbar_ly.R, barSubPlot_ly.R, boxPlot.R, dataImport.R, findCodeStr.R, heatMap.R, makeLayout.R, makeXaxis.R, makeYaxes - Copy.R, makeYaxes.R, makeYaxesBar.R, makeYaxesSetting.R, makeYdomain.R, plotLine_ly.R, setTimeStep.R, subsetData.R, summaryPlot_ly.R, timeDayTable.R, uniqueDateTime.R, xTicks.R

BG value stats by hour

BGvalue_Summary
##    time3 min      mean  max       sd
## 1  00:00 114 114.00000  114      NaN
## 2  01:00 114 114.00000  114      NaN
## 3  02:00 Inf       NaN -Inf      NaN
## 4  03:00 Inf       NaN -Inf      NaN
## 5  04:00 Inf       NaN -Inf      NaN
## 6  05:00 Inf       NaN -Inf      NaN
## 7  06:00 236 260.66667  273 19.10672
## 8  07:00 115 132.00000  166 26.33629
## 9  08:00  73  73.00000   73  0.00000
## 10 09:00 Inf       NaN -Inf      NaN
## 11 10:00 189 189.00000  189  0.00000
## 12 11:00 Inf       NaN -Inf      NaN
## 13 12:00  60 218.88889  274 90.42462
## 14 13:00 Inf       NaN -Inf      NaN
## 15 14:00 153 221.57143  313 85.52360
## 16 15:00 181 181.00000  181  0.00000
## 17 16:00  66  87.00000  102 13.54991
## 18 17:00  66  86.00000   95 11.91638
## 19 18:00  61  61.00000   61  0.00000
## 20 19:00 Inf       NaN -Inf      NaN
## 21 20:00 132 236.66667  289 81.07445
## 22 21:00  63  94.33333  110 24.27070
## 23 22:00 Inf       NaN -Inf      NaN
## 24 23:00 172 172.00000  172  0.00000
## 25 00:00 156 156.00000  156  0.00000

Sensor value stats by hour

Sensorvalue_Summary
##    time3 min      mean max        sd
## 1  00:00  81 124.83333 184  33.10811
## 2  01:00  78 137.50000 229  52.87695
## 3  02:00  80 145.44444 239  57.78751
## 4  03:00  92 150.69444 197  33.68834
## 5  04:00 133 160.19444 199  14.32444
## 6  05:00 131 164.25000 215  33.03797
## 7  06:00 115 171.91667 269  52.91685
## 8  07:00  98 151.47222 270  53.93514
## 9  08:00  40 117.66667 235  70.12764
## 10 09:00  41 134.75000 246  74.08234
## 11 10:00 129 193.21622 266  35.90043
## 12 11:00 102 200.95833 272  61.38957
## 13 12:00  40 165.35417 309 103.96306
## 14 13:00  43 174.59459 279  69.50998
## 15 14:00 150 221.79412 311  56.86229
## 16 15:00 109 180.25000 290  50.48925
## 17 16:00  48  87.05556 139  25.84785
## 18 17:00  43  69.55556 130  20.96452
## 19 18:00  84 134.52778 172  23.91232
## 20 19:00  73 135.13889 190  29.58200
## 21 20:00  75 156.76923 287  68.21694
## 22 21:00  67 137.88889 276  64.70053
## 23 22:00  77 128.33333 186  33.57380
## 24 23:00 109 137.69444 181  17.98701
## 25 00:00 113 137.27778 183  28.87866

BG high>150 count

BGHigh_Count
##   time3 BG.Reading..mg.dL.
## 1 06:00                  6
## 2 07:00                  2
## 3 10:00                  4
## 4 12:00                  7
## 5 14:00                  7
## 6 15:00                  2
## 7 20:00                  4
## 8 23:00                  4
## 9 00:00                  2

BG very high count

BGveryHigh_Count
##   time3 BG.Reading..mg.dL.
## 1 14:00                  3

BG low count

BGLow_Count
##   time3 BG.Reading..mg.dL.
## 1 08:00                  4
## 2 12:00                  2
## 3 16:00                  1
## 4 17:00                  3
## 5 18:00                  2
## 6 21:00                  2

BG good value count (>80 and <150)

BGgood_Count
##   time3 BG.Reading..mg.dL.
## 1 00:00                  1
## 2 01:00                  1
## 3 07:00                  4
## 4 16:00                  5
## 5 17:00                  4
## 6 20:00                  2
## 7 21:00                  4

Temp Basal = 0 count past 7 days

tempBasal_count
##   time3 Temp.Basal.Amount
## 1 14:00                 1

Suspend basal on low count

suspendBasal_Count
##    time3 Alarm
## 1  00:00     2
## 2  01:00     2
## 3  07:00     1
## 4  08:00     4
## 5  09:00     1
## 6  12:00     6
## 7  16:00     6
## 8  17:00     8
## 9  18:00     1
## 10 19:00     1
## 11 20:00     1
## 12 21:00     1

BG value by time and date with mean values

BGvalue_timeDaytable
##     time 2019-09-25 2019-09-26 2019-09-27 2019-09-28 2019-09-29      mean
## 1  00:00        NaN        NaN   156.0000  114.00000        NaN 135.00000
## 2  01:00        NaN        NaN        NaN  114.00000        NaN 114.00000
## 3  02:00        NaN        NaN        NaN        NaN        NaN       NaN
## 4  03:00        NaN        NaN        NaN        NaN        NaN       NaN
## 5  04:00        NaN        NaN        NaN        NaN        NaN       NaN
## 6  05:00        NaN        NaN        NaN        NaN        NaN       NaN
## 7  06:00        NaN        NaN   236.0000  273.00000        NaN 254.50000
## 8  07:00        NaN      115.0   166.0000        NaN        NaN 140.50000
## 9  08:00      73.00        NaN        NaN        NaN        NaN  73.00000
## 10 09:00        NaN        NaN        NaN        NaN        NaN       NaN
## 11 10:00        NaN        NaN   189.0000        NaN        NaN 189.00000
## 12 11:00        NaN        NaN        NaN        NaN        NaN       NaN
## 13 12:00     257.00      274.0        NaN   60.00000        NaN 197.00000
## 14 13:00        NaN        NaN        NaN        NaN        NaN       NaN
## 15 14:00     313.00        NaN   153.0000        NaN        NaN 233.00000
## 16 15:00        NaN      181.0        NaN        NaN        NaN 181.00000
## 17 16:00      91.20        NaN    66.0000        NaN        NaN  78.60000
## 18 17:00        NaN        NaN    66.0000   89.33333        NaN  77.66667
## 19 18:00        NaN       61.0        NaN        NaN        NaN  61.00000
## 20 19:00        NaN        NaN        NaN        NaN        NaN       NaN
## 21 20:00        NaN        NaN   236.6667        NaN        NaN 236.66667
## 22 21:00     110.00        NaN    63.0000        NaN        NaN  86.50000
## 23 22:00        NaN        NaN        NaN        NaN        NaN       NaN
## 24 23:00        NaN      172.0        NaN        NaN        NaN 172.00000
## 25  mean     168.84      160.6   147.9630  130.06667        NaN 151.86741
#heatmap
heatMap(BGvalue_timeDaytable, hasTotals = TRUE,
        margins = c(6,20), brks = seq(0,450,50), 
        brewerPallete = "RdBu")

Sensor value by time and date with mean values

Sensorvalue_timeDaytable
##     time 2019-09-25 2019-09-26 2019-09-27 2019-09-28 2019-09-29      mean
## 1  00:00  115.16667  171.83333        NaN  106.16667        NaN 131.05556
## 2  01:00  115.33333  208.75000        NaN   88.41667        NaN 137.50000
## 3  02:00  135.00000  218.91667        NaN   82.41667        NaN 145.44444
## 4  03:00  149.66667  190.00000        NaN  112.41667        NaN 150.69444
## 5  04:00  151.41667  155.00000        NaN  174.16667        NaN 160.19444
## 6  05:00  142.75000  140.16667        NaN  209.83333        NaN 164.25000
## 7  06:00  152.91667  120.66667        NaN  242.16667        NaN 171.91667
## 8  07:00  129.83333  106.33333        NaN  218.25000        NaN 151.47222
## 9  08:00   69.83333   71.33333        NaN  211.83333        NaN 117.66667
## 10 09:00   92.41667   78.58333        NaN  233.25000        NaN 134.75000
## 11 10:00  168.75000  201.25000  186.00000  210.25000        NaN 191.56250
## 12 11:00  251.83333  266.00000  139.83333  146.16667        NaN 200.95833
## 13 12:00  238.41667  292.08333   77.58333   53.33333        NaN 165.35417
## 14 13:00  241.16667  279.00000  111.66667  162.25000        NaN 198.52083
## 15 14:00  286.75000        NaN  154.00000  213.33333        NaN 218.02778
## 16 15:00  220.16667        NaN  131.33333  189.25000        NaN 180.25000
## 17 16:00   70.50000        NaN   73.25000  117.41667        NaN  87.05556
## 18 17:00   63.25000        NaN   81.16667   64.25000        NaN  69.55556
## 19 18:00  133.25000        NaN  157.66667  112.66667        NaN 134.52778
## 20 19:00  112.00000        NaN  166.41667  127.00000        NaN 135.13889
## 21 20:00  102.41667  111.33333  218.00000  223.25000        112 153.40000
## 22 21:00   83.33333  107.58333        NaN  222.75000        NaN 137.88889
## 23 22:00   94.50000  124.58333        NaN  165.91667        NaN 128.33333
## 24 23:00  130.91667  137.16667        NaN  145.00000        NaN 137.69444
## 25  mean  143.81597  165.58796  136.08333  159.65625        112 143.42870
#heatmap
heatMap(Sensorvalue_timeDaytable, hasTotals = TRUE,
        margins = c(6,20), brks = seq(0,450,50), 
        brewerPallete = "RdBu")

carb intake max values by time and date

carbs_timeDaytable
##     time 2019-09-25 2019-09-26 2019-09-27 2019-09-28 2019-09-29 max
## 1  00:00         NA         NA         20         NA         NA  20
## 2  01:00         NA         NA         NA         18         NA  18
## 3  02:00         NA         NA         NA         NA         NA  NA
## 4  03:00         NA         NA         NA         NA         NA  NA
## 5  04:00         NA         NA         NA         NA         NA  NA
## 6  05:00         NA         NA         NA         NA         NA  NA
## 7  06:00         NA         NA          0          0         NA   0
## 8  07:00         17         20         10         NA         NA  20
## 9  08:00         NA         NA         NA         20         NA  20
## 10 09:00         NA         NA         NA         NA         NA  NA
## 11 10:00         10         NA         NA         NA         NA  10
## 12 11:00         NA         NA         NA         NA         NA  NA
## 13 12:00          0         30         NA         NA         NA  30
## 14 13:00         NA         NA         20         25         NA  25
## 15 14:00         40         NA         NA         10         NA  40
## 16 15:00         NA         10         NA         45         NA  45
## 17 16:00         NA         NA         NA         NA         NA  NA
## 18 17:00         NA         NA         NA         NA         NA  NA
## 19 18:00         30         NA         14         NA         NA  30
## 20 19:00         NA         NA         NA         30         NA  30
## 21 20:00         NA         NA         30         NA         NA  30
## 22 21:00         NA         21         NA         NA         NA  21
## 23 22:00         28         NA         50         50         NA  50
## 24 23:00         NA         20         NA         NA         NA  20
## 25   max         40         30         50         50         NA  50
heatMap(carbs_timeDaytable, hasTotals = TRUE,
        margins = c(6,15), brks = seq(0,100,10), 
        brewerPallete = "RdBu",  textCol = "deeppink")

Scatter plots

BG values, basal rate and correction bolus values

plotLine(allData, numberDays = numberDays, scatterOnly = TRUE,addSensor = FALSE,
         plotSummary ="",
         addBolusType = c("BWZ.Correction.Estimate..U."),
         addSetting = c("basal"),
         legendInset = -0.35, margins = c(10,4,3,15))

Line Plots

daily sensor values with BG

plotLine(allData, numberDays = numberDays, addSensor = TRUE,
         colorPalleteDaily = "rainbow",plotSummary ="", 
         addBolus = FALSE,addSetting = "",
         legendInset = -0.35, margins = c(10,4,3,15))

summary BG values with settings

plotLine(allData, numberDays = numberDays, addSensor = FALSE,
         colorPalleteDaily = "rainbow", plotSummary = "BG.Reading..mg.dL.",
         addSetting = c("basal","corrFactor","carbRatio"), addBolus = FALSE,
         legendInset = -0.35, margins = c(10,4,3,15))

summary sensor values with basal and bolus

plotLine(allData, numberDays = numberDays, addSensor = FALSE,
         colorPalleteDaily = "rainbow",plotSummary ="Sensor.Glucose..mg.dL.",
         addBolusType = c("Bolus.Volume.Delivered..U."),
         addSetting = c("basal"),
         legendInset = -0.35, margins = c(10,4,3,15))

summary sensor values with BG and settings

plotLine(allData, numberDays = numberDays, addSensor = FALSE,
         colorPalleteDaily = "rainbow",plotSummary ="Sensor.Glucose..mg.dL.",
         addBolusType = "",addBolus = FALSE,
         addSetting = c("basal","corrFactor","carbRatio"),
         legendInset = -0.35, margins = c(10,4,3,15))

Bar Plots

Mean BG value with pump settings by hour

barPlot(allData, basal, corrFactor,carbRatio,
        numberDays = numberDays, plotSummary = "BG.Reading..mg.dL.", sumFunc = "mean", stackedBar = "",
        addBG = TRUE, addSetting = c("basal","corrFactor","carbRatio"),
        legendInset = -0.35, margins = c(10,4,2,15))

stacked BG high, low, good range

barPlot(allData, basal, corrFactor,carbRatio, 
        numberDays = numberDays, plotSummary = "BG.Reading..mg.dL.", sumFunc = "mean", stackedBar = "BGrange",
        addBG = FALSE, addSetting = c("basal","corrFactor","carbRatio"),
        legendInset = -0.35, margins = c(10,4,2,15))

stacked insulin

barPlot(allData, basal, corrFactor,carbRatio, 
        numberDays = numberDays, plotSummary = "BG.Reading..mg.dL.", sumFunc = "mean", stackedBar = "insulin",
        addBG = FALSE, addSetting = c("corrFactor","carbRatio"),
        legendInset = -0.35, margins = c(10,4,2,15))

highs and lows past {r, eval=TRUE}numberDays days

barPlot(allData, basal, corrFactor,carbRatio, 
        filterCond = "data[data$BG.Reading..mg.dL.>150 & !is.na(data$BG.Reading..mg.dL.),]",
        numberDays = numberDays, plotSummary = "BG.Reading..mg.dL.", sumFunc = "length", stackedBar = "",
        addBG = TRUE, addSetting = c("basal","corrFactor","carbRatio"),
        legendInset = -0.35, margins = c(10,4,2,15))

barPlot(allData, basal, corrFactor,carbRatio, 
        filterCond = "data[data$BG.Reading..mg.dL.<80 & !is.na(data$BG.Reading..mg.dL.),]",
        numberDays = numberDays, plotSummary = "BG.Reading..mg.dL.", sumFunc = "length", stackedBar = "",
        addBG = TRUE, addSetting = c("basal","corrFactor","carbRatio"),
        legendInset = -0.35, margins = c(10,4,2,15))

Boxplots

Carbs in grams with BGvalues past {r, eval=TRUE}numberDays days

#boxplots
boxPlot(allData,basal, corrFactor,carbRatio, numberDays = numberDays, filterCond = "",
        plotSummary = "BWZ.Carb.Input..grams.", 
        addSetting = "",
        legendInset = -0.3, margins = c(10,4,2,15))

BG values with basal

boxPlot(allData,basal, corrFactor,carbRatio, numberDays = numberDays, filterCond = "",
        plotSummary = "BG.Reading..mg.dL.", 
        addSetting ="basal",
        legendInset = -0.3, margins = c(10,4,2,15))

Interactive Plots

summary sensor, subplot settings with BGvalues

plotLine_ly(allData,  scatterOnly = FALSE, pointSize = 10,
            numberDays = 5, startDate = "2019-09-08", endDate = "2019-09-08",
            startTime = "00:00", endTime = "23:00",
            colorPalleteDaily = "rainbow", 
            addSensor = FALSE, addBG = TRUE, settingOverlay = FALSE,
            addBolusType = "",        
            plotSummary = "Sensor.Glucose..mg.dL.",
            addSetting =c("basal","carbRatio","corrFactor"),
            addBarSub = FALSE,addPercentType = "Sensor.Glucose..mg.dL.",
            filterCond = "",
            legendInset = -0.2)

same as previous with percent BG not percent SG

plotLine_ly(allData,  scatterOnly = FALSE, pointSize = 10,
            numberDays = 5, startDate = "2019-09-08", endDate = "2019-09-08",
            startTime = "00:00", endTime = "23:00",
            colorPalleteDaily = "rainbow", 
            addSensor = FALSE, addBG = TRUE, settingOverlay = FALSE,
            addBolusType = "",        
            plotSummary = "Sensor.Glucose..mg.dL.",
            addSetting =c("basal","carbRatio","corrFactor"),
            addBarSub = FALSE,
            filterCond = "",
            legendInset = -0.2)

summary sensor, subplot carbs with BGvalues

plotLine_ly(allData,  scatterOnly = FALSE, pointSize = 10,
            numberDays = 5, startDate = "2019-09-08", endDate = "2019-09-08",
            startTime = "00:00", endTime = "23:00",
            colorPalleteDaily = "rainbow", 
            addSensor = FALSE, addBG = TRUE, settingOverlay = FALSE,
            addBolusType = "",        
            plotSummary = "Sensor.Glucose..mg.dL.",
            addSetting ="",
            addBarSub = TRUE,
            filterCond = "",
            legendInset = -0.2)

summary sensor, subplot carbs and settings with BGvalues

plotLine_ly(allData,  scatterOnly = FALSE, pointSize = 10,
            numberDays = 5, startDate = "2019-09-08", endDate = "2019-09-08",
            startTime = "00:00", endTime = "23:00",
            colorPalleteDaily = "rainbow", 
            addSensor = FALSE, addBG = TRUE, settingOverlay = FALSE,
            addBolusType = "",        
            plotSummary = "Sensor.Glucose..mg.dL.",
            addSetting =c("basal","carbRatio","corrFactor"),
            addBarSub = TRUE,
            filterCond = "",
            legendInset = -0.2)

simple with setting subplot, filtered to high values

barSubPlot_ly(p = NA, data = allData, barSubPlot = FALSE,ayCarb = NA,
              addBarSub = FALSE,basal,
              numberDays = 5, filterCond = "data[data$BG.Reading..mg.dL.>150 & !is.na(data$BG.Reading..mg.dL.),]",
              startDate = NA, endDate = NA,
              startTime = "00:00", endTime = "23:00",
              plotSummary ="BG.Reading..mg.dL.", sumFunc = "length", stackedBar = "",
              addBG = FALSE, uniqueDT = TRUE,replaceNAs = FALSE,
              addSetting = c("basal","corrFactor","carbRatio"),settingOverlay = FALSE,percentSetting = 30,
              legendInset = -0.2)

simple with setting subplot, filtered to low values

barSubPlot_ly(p = NA, data = allData, barSubPlot = FALSE,ayCarb = NA,
              addBarSub = FALSE,basal,
              numberDays = 5, filterCond = "data[data$BG.Reading..mg.dL.<80 & !is.na(data$BG.Reading..mg.dL.),]",
              startDate = NA, endDate = NA,
              startTime = "00:00", endTime = "23:00",
              plotSummary ="BG.Reading..mg.dL.", sumFunc = "length", stackedBar = "",
              addBG = FALSE, uniqueDT = TRUE,replaceNAs = FALSE,
              addSetting = c("basal","corrFactor","carbRatio"),settingOverlay = FALSE,percentSetting = 30,
              legendInset = -0.2)

stcked insulin

barSubPlot_ly(p = NA, data = allData, barSubPlot = FALSE,ayCarb = NA,
              addBarSub = FALSE,basal,
              numberDays = 5, filterCond = "",
              startDate = NA, endDate = NA,
              startTime = "00:00", endTime = "23:00",
              plotSummary ="", sumFunc = "", stackedBar = "insulin",
              addBG = FALSE, uniqueDT = TRUE,replaceNAs = TRUE,
              addSetting = c("basal","corrFactor","carbRatio"),settingOverlay = FALSE,percentSetting = 30,
              legendInset = -0.2)

stcked BG

barSubPlot_ly(p = NA, data = allData, barSubPlot = FALSE,ayCarb = NA,
              addBarSub = FALSE,basal,
              numberDays = 5, filterCond = "",
              startDate = NA, endDate = NA,
              startTime = "00:00", endTime = "23:00",
              plotSummary ="BG.Reading..mg.dL.", sumFunc = "length", stackedBar = "BG",
              addBG = FALSE, uniqueDT = TRUE,replaceNAs = FALSE,ignoreNAs = TRUE,
              addSetting = c("basal","corrFactor","carbRatio"),settingOverlay = FALSE,percentSetting = 30,
              legendInset = -0.2)